In an ideal VOD system or general Media-On-Demand system, end-users may choose to play their own favorite program at whatever time they like and can conduct pausing, playing forward, playing backward as easily as control of a VCR. However, in a conventional VOD system, all streams are transmitted from the video service providing apparatus. In consideration that such requirement imposes a very heavy burden on the server and network bandwidth, a typical video program has the size of several gigabytes and a common Media-On-Demand system should serve thousands of people simultaneously. How to deliver these programs to end-users at their wishes and keep the expense of servers and network as low as possible is the crucial problem in a Media-On-Demand system.
Many methods have been proposed in order to solve the problem. These range, from the early batch policy to the later skyscraper and hierarchy merging algorithm, which considerably reduce workload of the server and network bandwidth. However, even the latest method still requires the server to possess tremendous throughput which exceeds the capacity of a general-purpose server.
A VOD delivery system and method is disclosed in the U.S. Pat. No. 6,018,359, the method uses a static merging algorithm and multicast technique to transmit video data from a server to clients, wherein the clients are required to receive at least two channels at the same time and adjust their receiving channel according to the predefined pattern. However, the technical solution disclosed in the patent has two shortcomings:                1. The server must multicast the same video program repeatedly to the clients, no matter whether there is any receiver, thus resulting in fixed overhead of the server and the network. Therefore, even if the video program is not a quite popular one and is not viewed by many viewers, the server must still multicast the same program repeatedly, thus resulting in a tremendous waste of resources.        2. All the video program streams are sent from the server without considering that the clients may share some workload for the server, thereby resulting in over heavy workload of the server.        